package com.ccc.scala.base7_collection

object Collection01_Array2 {
  def main(args: Array[String]): Unit = {
    // 集合 - 数组

    // 使用集合的伴生类对象构建集合，并同时初始化
    // val array = Array.apply(1, 2, 3, 4, 5)
    val array = Array(1, 2, 3, 4, 5)
    val array2 = Array(6, 7, 8, 9)


    // 访问
    // Scala只要是以运算符冒号（:）结尾的，那么运算规则为从后往前计算
    // val ints1 = array.:+(6)
    // val ints2 = array.+:(0)
    val ints1 = array :+ 6
    val ints2 = 0 +: array
    println(ints1.mkString(",")) // 1,2,3,4,5,6
    println(ints2.mkString(",")) // 0,1,2,3,4,5

    // val ints3 = array.++(array2)
    val ints3 = array ++ array2
    val ints4 = array ++: array2
    println(ints3.mkString(",")) // 1,2,3,4,5,6,7,8,9
    println(ints4.mkString(",")) // 1,2,3,4,5,6,7,8,9

    // foreach是一个循环方法，需要传递一个参数，参数类型就是函数类型
    //    def foreachFunction(num: Int): Unit = {
    //      println(num)
    //    }
    // array.foreach(foreachFunction)


    // 简化
    //    array.foreach((num: Int) => {
    //      println(num)
    //    })

    // array.foreach(num => println(num))
    array.foreach(println(_))


  }

}
